package com.kkb.service;


import com.kkb.domain.AjaxResult;
import com.kkb.pojo.TbSysuser;
import com.kkb.pojo.complex.MenuItem;

import java.util.List;


public interface SysUserService {


    List<TbSysuser> getUserList();

    TbSysuser getUserInfo(String username);

    List<MenuItem> getUserMenu(String username);

    List<MenuItem> getMenuList(String username, int parentId);

    /**
     * 通过id获取user对象
     * @param userId
     * @return
     */
    TbSysuser getUserById(Integer userId);

    /**
     * 更新user
     * @param sysuser
     * @return
     */
    boolean updateUser(TbSysuser sysuser);

    /**
     * 校验用户名称是否唯一
     * @param username
     * @return
     */
    String checkLoginNameUnique(String username);

    /**
     * 更改用户状态
     * @param user
     * @return
     */
    boolean changeStatus(TbSysuser user);

    /**
     * 根据id软删除用户
     * @param sysUserId
     * @return
     */
    boolean deleteUserById(Integer sysUserId);

    /**
     * 新增user
     * @param sysUser
     * @return
     */
    boolean addUser(TbSysuser sysUser);

    /**
     * 批量删除用户
     * @param ids
     * @return
     */
    AjaxResult batchDeleteUser(List<Integer> ids);

    AjaxResult resetPwd(TbSysuser user);

}
